home *** CD-ROM | disk | FTP | other *** search
/ Aminet 41 / Aminet 41 (2001)(Schatztruhe)[!][Feb 2001].iso / Aminet / gfx / edit / AmiCAD_2.07.lha / AmiCAD / ARexx / MapKey.AmiCAD < prev    next >
Text File  |  2000-11-10  |  2KB  |  58 lines

  1. /* MapKey
  2. Programmation d'une séquence de touches
  3. Version 1.00: 25 septembre 1999
  4. Version 1.01: 10 novembre 2000 (localisation anglais/français)
  5. $VER: MapKey.AmiCAD 1.01 (® R.Florac, 10/11/2000) */
  6.  
  7. options results     /* indispensable pour récupérer le résultat des macros */
  8.  
  9. signal on error     /* pour l'interception des erreurs */
  10. signal on syntax
  11.  
  12. 'LANGUAGE'
  13. if result="français.language" then fr=1
  14. else fr=0
  15.  
  16. 'VERSION(0)'
  17. if result < 2.03 then do
  18.     if fr=1 then 'MESSAGE("Ce script nécessite"+CHR(10)+"AmiCAD version 2.03"+CHR(10)+"ou plus")'
  19.     else 'MESSAGE("This script needs"+CHR(10)+"AmiCAD version 2.03+")'
  20.     exit
  21. end
  22.  
  23. keys=getclip(key_sequence)
  24. if key~="" then keys=doublage_guillemets(keys)
  25. if fr=1 then 'INIT(KEY_SEQ,KEY_MACRO):KEY_SEQ=ASKTEXT("Séquence de touches"+CHR(10)+"à programmer ?"+CHR(10)+"Ex: shift-alt-f","'keys'")'
  26. else 'INIT(KEY_SEQ,KEY_MACRO):KEY_SEQ=ASKTEXT("Keys sequence"+CHR(10)+"to program ?"+CHR(10)+"Ex: shift-alt-f","'keys'")'
  27. key=result
  28. if key~="" then do
  29.     setclip(key_sequence,key)
  30.     if fr=1 then 'KEY_MACRO=ASKTEXT("Macro associée à "+KEY_SEQ,READMAP(KEY_SEQ))'
  31.     else 'KEY_MACRO=ASKTEXT("Associated macro for "+KEY_SEQ,READMAP(KEY_SEQ))'
  32.     if result~="" then 'MAP(KEY_SEQ,KEY_MACRO)'
  33. end
  34.  
  35. exit
  36.  
  37. doublage_guillemets: procedure
  38.     parse arg chaine
  39.     t=''
  40.     do i=1 to length(chaine)
  41.     c = substr(chaine,i,1)
  42.     if c='"' then c=c||'"'
  43.     t=t||c
  44.     end
  45.     return t
  46.  
  47. /* Traitement des erreurs, interruption du programme */
  48. syntax:
  49. erreur=RC
  50. if fr=1 then 'MESSAGE("Script MapKey.AmiCAD"+CHR(10)+"Erreur de syntaxe"+CHR(10)+"en ligne 'SIGL'"+CHR(10)+"'errortext(erreur)'")'
  51. else 'MESSAGE("MapKey.AmiCAD script"+CHR(10)+"Syntax error"+CHR(10)+"in line 'SIGL'"+CHR(10)+"'errortext(erreur)'")'
  52. exit
  53.  
  54. error:
  55. if fr=1 then 'MESSAGE("Script MapKey.AmiCAD"+CHR(10)+"Erreur en ligne 'SIGL'")'
  56. else 'MESSAGE("MapKey.AmiCAD script"+CHR(10)+"Error in line 'SIGL'")'
  57. exit
  58.